#ifndef ENGINE_CLASS_H
#define ENGINE_CLASS_H

#include "Unity/Vector3.hpp"
#include "Unity/Vector2.hpp"
#include "imgui.h"
#include "Base.h"

extern int glWidth; 
extern int glHeight;
class Camera
{
public:
	Vector3 WoldToScreen(Vector3 Pos);
};

class Transform
{
public:
	Vector3 GetPosition();
	Vector3 Get_Forward();
};

class Animator
{
public:
    Transform* GetBoneTransform(int idx);
    bool* get_isHuman();
};

class GameObject
{
public:
	Transform* GetObjectTrans();
};

void BoneAddLine(Animator*anim,Camera* camera,int start,int end);
void Draw_Bone(Animator* anim, Camera* camera);
void DrawLine(Vector3 screenPos1, Vector3 screenPos2, ImColor color);
float GetCharacterShoulderWidth(Animator* animator);
void Draw_SkeletonAdaptive3DBox(GameObject* object, Vector3 headPos, Vector3 leftFootPos, Vector3 rightFootPos,
	Camera* camera, ImColor espBoxColor, float widthRatio = 1.0f);

#endif